#include"Progressbar.h"
#include<unistd.h>

double bandwidth = 1024*1024*1.0;                        //bandwidth网络带宽，即下载速度

void download(double filesize,callback_t cb)             //
{
	double current = 0.0;                                //当前累计下载的数据量

	printf("download begin, current: %lf\n",current);
	while(current<=filesize)                              //如果当前累计下载量小于需要下载的文件大小，就一直下载
	{
		cb(filesize,current);                            //根据需要下载的文件大小和当前下载量进行打印进度条
		//这里需要从网络中拉取数据...
		//....
		current+=bandwidth;                              //累加下载量
		usleep(1000);                                    //睡眠时间
	}
	printf("\ndounload done, filesize: %lf\n",filesize);   //显示最后的下载量
}
 

int main()
{
	download(100*1024*1024,ProcBar);                                   //回调函数，去调用ProBar函数打印进度条
	download(10*1024*1024,ProcBar);                                   //回调函数，去调用ProBar函数打印进度条
	download(1*1024*1024,ProcBar);                                   //回调函数，去调用ProBar函数打印进度条
	download(180*1024*1024,ProcBar);                                   //回调函数，去调用ProBar函数打印进度条
	download(475*1024*1024,ProcBar);                                   //回调函数，去调用ProBar函数打印进度条
	download(83*1024*1024,ProcBar);                                   //回调函数，去调用ProBar函数打印进度条
	download(296*1024*1024,ProcBar);                                   //回调函数，去调用ProBar函数打印进度条
	return 0;
} 
